╔MAGINE A TRIANGLE. ╔MAGINE THAT IT CAN TURN AROUND ITS OWN CENTER. ╘HEN IMAGINE THAT AS IT TURNS IT GROWS IN SIZE. ┴ND THAT EACH OF ITS SIDES IS A DIFFERENT COLOR. ╔MAGINE ALSO THAT YOU CAN RECORD THE ENTIRE PROCESS. ╫HAT WILL THE RECORDING LOOK LIKE?
╔MAGINE NO MORE. ┘OU CAN DO IT. ┘OU CAN ALSO LEARN A LITTLE MORE ABOUT THE ─╥┴╫ COMMAND AND USE OF COLORS IN CLOSE QUARTERS. ╘YPE IN THIS ROUTINE AND SEE FOR YOURSELF.
// PRG: MULTICOL SPIRALS //
Ç*FP8
*** ╓┴╥╔┴┬╠┼╙ ***
┴ DRAWING ANGLE
╪,┘ STARTING COORDINATES
─╪ SIZE OF LINE SEGMENTS
╬ ROTATES THROUGH DRAWING COLOR SOURCES
═├ JUST A CONSTANT FOR EFFECT
╔$ KEYBOARD INPUT
*** ╔╬╙╘╥╒├╘╔╧╬╙ ***
╥╒╬ IT. ╘HE PROCESS GOES ON FOREVER UNTIL YOU PRESS ANY KEY. ╘HE PICTURE THEN FREEZES, AND RETURNS TO THE NORMAL SCREEN WHEN YOU PUSH ANY KEY AGAIN.
*** ─┼╘┴╔╠╙ ***
╘HIS PROGRAM USES THE MULTICOLOR MODE OF GRAPHICS. ╘HREE COLORS ARE USED. ┴CTUALLY THEY'RE ALL BLUE ON BLACK, BUT THEIR BRIGHTNESSES (LUMINANCES) DIFFER. ╘HE COMPUTER THINKS OF THEM AS THREE VALID COLORS, AND THAT'S WHAT COUNTS.
┴ REMINDER: IF YOU GET STUCK IN GRAPHIC MODE, THE SIMPLEST WAY TO REGAIN A NORMAL, VISIBLE CURSOR IS TO PUSH THE ╙╘╧╨-KEY, TYPE ANY LETTER AND PUSH ╥┼╘╒╥╬ ┘OU'LL BE GREETED BY ╙┘╬╘┴╪ ┼╥╥╧╥, BUT SO WHAT? ┴ MORE ELEGANT WAY IS TO TYPE, BLINDLY, ╟╥┴╨╚╔├0 AND ╥┼╘╒╥╬. ╔F YOU HAVEN'T REDEFINED FUNCTION KEY-1, PRESSING THAT, FOLLOWED BY A 0 AND ╥┼╘╒╥╬ ALSO DOES THE JOB.
╚ERE WE DRAW LINES OF VARYING LENGTH ─╪ AT AN ANGLE ALSO RELATED TO ─╪, HENCE, INCREASING CONTINUOUSLY. ╬OTE THAT THE ╠╧├┴╘┼ COMMAND IS OUTSIDE THE LOOP. ╫E SET THE CURSOR JUST ONCE. ╞ROM THEN ON, ALL THE STARTING POSITIONS ARE RELATIVE TO THE FINAL POSITIONS AFTER A LINE SEGMENT HAS BEEN DRAWN.
╘HE ANGLE CHANGES FROM ZERO TO 360 DEGREES, PLUS THE ─╪ OFFSET. ╫HEN WE GO AROUND THE FULL RANGE, WE RESTART THE PROCESS AT AN ANLE OF ZERO, BUT WITH A TOTALLY NEW LINE LENGTH.
┘OU MAY HAVE NOTICED THAT SECTIONS OF MANY LINES HAVE BEEN DRAWN OFF THE SCREEN. ╘HIS IS A WONDERFUL FEATURE IN THIS COMPUTER. ╔T DOESN'T HURT A THING! AND DOES NOT TELL YOU ABOUT ╔╠╠┼╟┴╠ ╤╒┴╬╘╔╘┘ ┼╥╥╧╥.
*** ╨╥╧╩┼├╘╙ ***
├HANGE THE COLORS IN LINES 120-130. ┘OU CAN HAVE DIFFERENT LUMINANCES (WHICH THE COMPUTER THINKS ARE NEW COLORS) AND/OR DIFFERENT COLORS.
╔NSIDE THE DRAWING LOOP IN LINES 160-210 CHANGE COLOR SOURCE #3 AND WATCH WHAT HAPPENS. ═AKE THE CHANGE EVERY ONCE IN A WHILE, PERHAPS EVERY SIXTY OR SO TURNS.
├HANGE THE ANGLE ┴ IN LINE 110. ╙EVERAL SUGGESTED VALUES FOLLOW THE ╥┼═ARK. ╘RY DIVIDING ─╪ IN LINE 190 BY ═├, AS SUGGESTED FOLLOWING A ╥┼═ARK IN THAT LINE.
╥EMOVE ╥┼═ARK IN LINE 180 TO SEE A DIFFERENT EFFECT. ╘HE CODE ╬ ┴╬─ 2 CHECKS FOR AN EVEN VALUE OF ╬, SO THAT WHEN ╬ IS 2,4,6 AND SO ON, ═├ WILL BE SET TO ONE, OTHERWISE IT DEFAULTS TO A VALUE 2. ═├ SUPERIMPOSES ADDITIONAL CHANGE IN SEGMENT LENGTH.
├HANGE THE STARTING POSITION, ╪ AND ┘ IN LINE 140. ├HANGE THE SIZE OF THE INCREMENT ─╪, IN LINE 140. ╘HINK OF OTHER PATTERNS YOU MIGHT CREATE USING THE SAME PROGRAM, THEN CODE THE CHANGES. ┼XPERIMENT!
*** ╬╧╘┼ ╘╧ ╘╚┼ ┴─╓┴╬├┼─ ╨┼╧╨╠┼ ***
╘HIS DETAIL MAY BE USEFUL SOME DAY: ┘OU MAY THINK THAT IN THE SPLIT-SCREEN MODE THE AREA OF MEMORY CORRESPONDING TO THE TEXT PART AT THE BOTTOM IS UNUSED. ╬OT SO. ╘HE CLEAR-COMMAND CLEARS ALL MEMORY IN THE GRAPHIC SECTION. ╙O IF YOU PLAN TO PUT ANYTHING IN THAT AREA, DO IT AFTER TH CLEAR COMMAND. ╟╥┴╨╚╔├1,1:╟╥┴╨╚╔├0 DOES THE JOB QUICKLY. ┬UT THERE IS MORE TO WATCH FOR.
╘HE LINES YOU DRAW OFF-THE SCREEN STILL DO GO INTO THE NORMAL HIGH-RESOLUTION MEMORY, BEHIND THE SCENE, SO-TO-SPEAK. ╔T IS ALLOCATED BY THE COMPUTER AND IS SO USED. ╓ERY CAREFUL PEOPLE SHOULD BE ABLE TO SPLIT THE SCREEN, NOT PERMIT DRAWING OUT OF BOUNDS, AND THEREFORE GAIN SEVERAL HUNDRED BYTES OF MEMORY FOR OTHER USE.
╫E DO NOT NEED TO SCROUNGE FOR SINGLE BYTES IN THE ╨╠╒╙4 MACHINE, BUT IN THE ├OMMODORE16, WHERE EVERY BYTE COUNTS, IT'S WORTH KNOWING THIS KIND OF DETAIL.